package com.greenold.Recharge.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.greenold.common.annotation.Excel;
import com.greenold.common.core.domain.BaseEntity;

/**
 * 预交费充值对象 recharge
 * 
 * @author ruoyi
 * @date 2025-10-13
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
public class Recharge extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 序号 */
    private String id;
    /** 用户名 */
    @Excel(name = "用户名")
    private String userName;

    /** 预缴款编号 */
    @Excel(name = "预缴款编号")
    private String prepaidNo;

    /** 老人姓名 */
    @Excel(name = "老人姓名")
    private String elderId;

    private String elderName;

    /** 床位号 */
    @Excel(name = "床位号")
    private String bedNum;

    /** 充值方式 */
    @Excel(name = "充值方式")
    private String method;

    /** 充值金额（元） */
    @Excel(name = "充值金额", readConverterExp = "元=")
    private BigDecimal amount;

    /** 充值凭证 */
    @Excel(name = "充值凭证")
    private String voucher;

    /** 创建人 */
    @Excel(name = "创建人")
    private String createdBy;

    /** 创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date createdAt;

    /** $column.columnComment */
    private Date updatedAt;

    /** $column.columnComment */
    private String updatedBy;

    /** 扩展字段2 */
    private String extend2;

    public void setBedNum(String bedNum)
    {
        this.bedNum = bedNum;
    }

    public String getBedNum()
    {
        return bedNum;
    }

    public void setId(String id) 
    {
        this.id = id;
    }

    public String getId() 
    {
        return id;
    }

    public void setPrepaidNo(String prepaidNo) 
    {
        this.prepaidNo = prepaidNo;
    }

    public String getPrepaidNo() 
    {
        return prepaidNo;
    }

    public void setElderId(String elderId) 
    {
        this.elderId = elderId;
    }

    public String getElderId() 
    {
        return elderId;
    }

    public void setMethod(String method) 
    {
        this.method = method;
    }

    public String getMethod() 
    {
        return method;
    }

    public void setAmount(BigDecimal amount) 
    {
        this.amount = amount;
    }

    public BigDecimal getAmount() 
    {
        return amount;
    }

    public void setVoucher(String voucher) 
    {
        this.voucher = voucher;
    }

    public String getVoucher() 
    {
        return voucher;
    }

    public void setCreatedBy(String createdBy) 
    {
        this.createdBy = createdBy;
    }

    public String getCreatedBy() 
    {
        return createdBy;
    }

    public void setCreatedAt(Date createdAt) 
    {
        this.createdAt = createdAt;
    }

    public Date getCreatedAt() 
    {
        return createdAt;
    }

    public void setUpdatedAt(Date updatedAt) 
    {
        this.updatedAt = updatedAt;
    }

    public Date getUpdatedAt() 
    {
        return updatedAt;
    }

    public void setUpdatedBy(String updatedBy) 
    {
        this.updatedBy = updatedBy;
    }

    public String getUpdatedBy() 
    {
        return updatedBy;
    }

    public void setExtend2(String extend2) 
    {
        this.extend2 = extend2;
    }

    public String getExtend2() 
    {
        return extend2;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("prepaidNo", getPrepaidNo())
            .append("elderId", getElderId())
            .append("method", getMethod())
            .append("amount", getAmount())
            .append("voucher", getVoucher())
            .append("remark", getRemark())
            .append("createdBy", getCreatedBy())
            .append("createdAt", getCreatedAt())
            .append("updatedAt", getUpdatedAt())
            .append("updatedBy", getUpdatedBy())
            .append("bedNum", getBedNum())
            .append("extend2", getExtend2())
            .toString();
    }
}
